package stu.day25_day32.day32.tmp;

import java.util.*;

public class hw2 {


    public static void main(String[] args) {

        Scanner sc =new Scanner(System.in);
        int n = Integer.parseInt(sc.nextLine());

        HashMap<Integer, List<Integer>> map =new HashMap<>();
        for(int i=0;i<n-1;i++){
            String[] str = sc.nextLine().split(" ");
            int num1 = Integer.parseInt(str[0]);
            int num2 = Integer.parseInt(str[1]);
            addMap(num1,num2,map);
            addMap(num2,num1,map);
        }
        int x = Integer.parseInt(sc.nextLine());

        List<Integer> l = new ArrayList<>();
        HashSet<Integer> set = new HashSet<>();
        set.add(x);
        for(int o:map.keySet()){
            int xx = dfs(o,set,map);
            if(xx>0){
                l.add(xx);
            }
        }
        System.out.println("***************************");
        System.out.println(l.size());
        l.stream().sorted().forEach(s -> System.out.print(s+" "));
    }

    public static int dfs(int num, HashSet<Integer> set, HashMap<Integer, List<Integer>> map){
        if(set.contains(num)){
            return 0;
        }
        set.add(num);
        List<Integer> list = map.get(num);
        int all = 1;
        for(Integer x:list){
           all += dfs(x,set,map);
        }
        return all;
    }


    public static void addMap(int num1,int num2,HashMap<Integer, List<Integer>> map){
        if(map.containsKey(num1)){
            map.get(num1).add(num2);
        }else {
            List<Integer> l = new ArrayList<>();
            l.add(num2);
            map.put(num1,l);
        }
    }





}
